#define _CRT_SECURE_NO_WARNINGS
//作者：宋安康
#include<stdio.h>  //预处理指令，会在预编译阶段
//include包含头文件
//如果需要调用某个函数，需要包含他对应的头文件
//<stdio.h>:系统路径找   "stdio.h"：指定路径先找，再找系统路径
//int main() 
//{
//	//二进制语言
//	//汇编语言（无法跨平台）
//	//高级语言  实现跨平台
//	
//	//对平台依赖较多
//	//过于自由
//	//C其他语言的鼻祖
//	printf("hello world\n");   //调用库函数printf
//	return 0;   //函数结束，并返回整数0，表示执行成功,return -1表示执行失败
//}

//system函数的使用
//int sysyem();
//#include<stdlib.h>
//int main() 
//{
//	system("calc");  //调用windos操作系统的计算器
//	return 0;
//}


// C程序编译步骤
//代码编译：预处理，编译，汇编，链接
//1）预处理：宏定义展开、头文件展开、条件编译等，同时将代码中的注释删除，这里并不会检查语法
//2）编译：检查语法，将预处理后文件编译生成汇编文件
//3）汇编：将汇编文件生成目标文件(二进制文件)
//4）链接：C语言写的程序是需要依赖各种库的，所以编译之后还需要把库链接到最终的可执行程序中去

//Cache缓存
//多个寄存器---和数据总线有关

//int main()
//{
//	//定义整型变量a, b, c
//	int a;
//	int b;
//	int c;
//
//	__asm   //内嵌汇编
//	{
//		mov a, 3	//3的值放在a对应内存的位置
//		mov b, 4	//4的值放在b对应内存的位置
//		mov eax, a	//把a内存的值放在eax寄存器
//		add eax, b	//eax和b相加，结果放在eax
//		mov c, eax	//eax的值放在c中
//	}
//
//	printf("%d\n", c);//把c的值输出
//
//	return 0;//成功完成
//}

//反汇编
int main() 
{
	//定义整型变量a, b, c
	int a;
	int b;
	int c;

	a = 3;
	b = 4;
	c = a + b;

	printf("%d\n", c);//把c的值输出

	return 0;//成功完成
}
